package com.hnu.store.service;

import com.hnu.store.dto.TradeDTO;
import com.hnu.store.entity.Trade;
import java.util.List;

public interface ITradeService {

  /**
   * 获取所有交易信息
   * @param userId 用户ID
   */
  List<TradeDTO> getTradeListById(Integer userId);

  /**
   * 获取某一个交易信息
   * @param tradeId 交易ID
   */
  Trade getTradeById(Integer tradeId);

  /**
   *
   * @param
   */
  List<TradeDTO> getTradeListByIdOrder(Integer userId, String sortType);

  /**
   * 获取所有交易信息
   */
  List<TradeDTO> getAllTrade();

  /**
   * 购买使用权
   * @param trade 交易信息
   */
  void buyUseRight(Trade trade);

  /**
   * 购买拥有权
   * @param trade 交易信息
   * @param chainTime 上链时间
   * @param blockHeight 区块高度
   */
  void buyOwnRight(Trade trade,String chainTime,String blockHeight);

  /**
   * 获得今日收益
   * @param userId 用户ID
   */
  Double getTodayEarning(Integer userId);

  /**
   * 交易详细信息
   * @param tradeId 交易ID
   * @param chainTime 上链时间
   * @param blockHeight 区块高度
   */
  void viewDetails(Integer tradeId,String chainTime,String blockHeight);
}
